package org.sirmupadbapi.persistencia;

import java.io.Serializable;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.sirmupadbapi.beans.Exoneraciones;
import org.sirmupadbapi.generales.DataGManager;


/**
*
* @author
*/

public class ExoneracionesPersistencia implements Serializable {
private static final long serialVersionUID = 1L;
public static Exception excepcion;
public static boolean esMensaje = false;
public static Connection con = null;
public static java.util.ResourceBundle bundle = java.util.ResourceBundle.getBundle("org/sirmupadbapi/properties/mensajes");
static DataGManager dataGManager;
static List<Exoneraciones> list;

public ExoneracionesPersistencia(){
         esMensaje =false;
}


/**
*
* insert()
*/

public static boolean insert (Exoneraciones exoneraciones ) {
  excepcion = null;
  try {
      esMensaje =false;
   
   
   

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return false;
  }
      PreparedStatement pinsert = null;
      String sql = "insert into exoneraciones(IDEXONERACION,FECHAEXONERACION,AUTORIZADO,DETALLE,PORCENTAJE,VALOR,ACTIVO,IDMUNICIPIO,IDUSUARIO,FECHA)  values(?,?,?,?,?,?,?,?,?,?)";
      pinsert = con.prepareStatement(sql);
              pinsert.setString(1,exoneraciones.getIDEXONERACION());
        pinsert.setDate(2,exoneraciones.getFECHAEXONERACION());
        pinsert.setString(3,exoneraciones.getAUTORIZADO());
        pinsert.setString(4,exoneraciones.getDETALLE());
        pinsert.setDouble(5,exoneraciones.getPORCENTAJE());
        pinsert.setDouble(6,exoneraciones.getVALOR());
        pinsert.setString(7,exoneraciones.getACTIVO());
        pinsert.setString(8,exoneraciones.getIDMUNICIPIO());
        pinsert.setString(9,exoneraciones.getIDUSUARIO());
        pinsert.setDate(10,exoneraciones.getFECHA());
      int filas= pinsert.executeUpdate();
      pinsert.close();
      return true;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return false;
 }


/**
*
* update()
*/

public static boolean update(Exoneraciones exoneraciones ) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return false;
  }
      PreparedStatement pupdate = null;
      String sql = "update exoneraciones set    ";
      pupdate= con.prepareStatement(sql);
      pupdate.setString(1,exoneraciones.getIDEXONERACION());
pupdate.setDate(2,exoneraciones.getFECHAEXONERACION());
pupdate.setString(3,exoneraciones.getAUTORIZADO());
pupdate.setString(4,exoneraciones.getDETALLE());
pupdate.setDouble(5,exoneraciones.getPORCENTAJE());
pupdate.setDouble(6,exoneraciones.getVALOR());
pupdate.setString(7,exoneraciones.getACTIVO());
pupdate.setString(8,exoneraciones.getIDMUNICIPIO());
pupdate.setString(9,exoneraciones.getIDUSUARIO());
pupdate.setDate(10,exoneraciones.getFECHA());
      int filas= pupdate.executeUpdate();
      pupdate.close();
      if (filas <= 0){
          excepcion=new Exception(bundle.getString("msg.noupdate"));
          esMensaje =true;
          return false;
      }
      return true;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return false;
}


/**
*
* update()
*/

public static boolean update(String sqlupdate ) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return false;
  }
      PreparedStatement pupdate = null;
      String sql = "update  exoneraciones set " + sqlupdate +"";
      pupdate= con.prepareStatement(sql);
      int filas= pupdate.executeUpdate();
      pupdate.close();
      if (filas <= 0){
          excepcion=new Exception(bundle.getString("msg.noupdate"));
          esMensaje =true;
          return false;
      }
      return true;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return false;
}


/**
*
* updatePrimaryKey()
*/

public static boolean updatePrimaryKey(Exoneraciones exoneraciones_old , Exoneraciones exoneraciones) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return false;
  }
      PreparedStatement pupdate = null;
      String sql = "update exoneraciones set    ";
      pupdate= con.prepareStatement(sql);
      
      int filas= pupdate.executeUpdate();
      pupdate.close();
      if (filas <= 0){
          excepcion=new Exception(bundle.getString("msg.noupdate"));
          esMensaje =true;
          return false;
      }
      return true;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return false;
}


/**
*
* delete()
*/

public static boolean delete(Exoneraciones exoneraciones ) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return false;
  }
      PreparedStatement pdelete = null;
      String sql = "delete from exoneraciones   ";
      pdelete= con.prepareStatement(sql);
      
      int filas= pdelete.executeUpdate();
      pdelete.close();
      if (filas <= 0){
          excepcion=new Exception(bundle.getString("msg.nodelete"));
          esMensaje =true;
          return false;
      }
      return true;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return false;
}


/**
*
* delete()
*/

public static boolean delete(String sqldelete ) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return false;
  }
      PreparedStatement pdelete = null;
      String sql = "delete from exoneraciones where " + sqldelete +"";
      pdelete= con.prepareStatement(sql);
      int filas= pdelete.executeUpdate();
      pdelete.close();
      if (filas <= 0){
          excepcion=new Exception(bundle.getString("msg.nodelete"));
          esMensaje =true;
          return false;
      }
      return true;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return false;
}


/**
*
* deleteAll()
*/

public static boolean deleteAll() {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return false;
  }
      PreparedStatement pdelete = null;
      String sql = "delete from exoneraciones  ";
      pdelete= con.prepareStatement(sql);
      int filas= pdelete.executeUpdate();
      pdelete.close();
      if (filas <= 0){
          excepcion=new Exception(bundle.getString("msg.nodeleteall"));
          esMensaje =true;
          return false;
      }
      return true;
   } catch (Exception e) {
      excepcion = e;
   } finally {
  }
  return false;
}


/**
*
* exists()
*/



public static boolean exists(Exoneraciones exoneraciones) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return false;
  }
 String sql = "select * from exoneraciones where IDEXONERACION='"+exoneraciones.getIDEXONERACION()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "exoneraciones" +" " + bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return false;
   }
    rs.close();
    psquery.close();
 return true;
} catch (Exception ex) {
      excepcion = ex;
}
  return false;
}


/**
*
* findByPrimaryKey()
*/



public static Exoneraciones findByPrimaryKey(Exoneraciones exoneraciones) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
      String sql = "select * from exoneraciones where IDEXONERACION='"+exoneraciones.getIDEXONERACION()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "exoneraciones" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
            
            
            exoneraciones.setIDEXONERACION(rs.getString("IDEXONERACION"));
exoneraciones.setFECHAEXONERACION(rs.getDate("FECHAEXONERACION"));
exoneraciones.setAUTORIZADO(rs.getString("AUTORIZADO"));
exoneraciones.setDETALLE(rs.getString("DETALLE"));
exoneraciones.setPORCENTAJE(rs.getDouble("PORCENTAJE"));
exoneraciones.setVALOR(rs.getDouble("VALOR"));
exoneraciones.setACTIVO(rs.getString("ACTIVO"));
exoneraciones.setIDMUNICIPIO(rs.getString("IDMUNICIPIO"));
exoneraciones.setIDUSUARIO(rs.getString("IDUSUARIO"));
exoneraciones.setFECHA(rs.getDate("FECHA"));
    }
    rs.close();
    psquery.close();
 return exoneraciones;
} catch (Exception ex) {
      excepcion = ex;
}
  return null;
}


/**
*
* findByIDEXONERACION()
*/

public static List<Exoneraciones> findByIDEXONERACION(Exoneraciones exoneraciones,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
       list = new ArrayList<Exoneraciones>();
      String sql = "select * from exoneraciones where IDEXONERACION='"+exoneraciones.getIDEXONERACION()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "exoneraciones" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
        Exoneraciones exoneraciones2 = new Exoneraciones(
         rs.getString("IDEXONERACION"),rs.getDate("FECHAEXONERACION"),rs.getString("AUTORIZADO"),rs.getString("DETALLE"),rs.getDouble("PORCENTAJE"),rs.getDouble("VALOR"),rs.getString("ACTIVO"),rs.getString("IDMUNICIPIO"),rs.getString("IDUSUARIO"),rs.getDate("FECHA"));
            
            
       list.add(exoneraciones2);
    }
    rs.close();
    psquery.close();
    return list;
} catch (Exception ex) {
      excepcion = ex;
}
  return null;
}


/**
*
* findByFECHAEXONERACION()
*/

public static List<Exoneraciones> findByFECHAEXONERACION(Exoneraciones exoneraciones,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
       list = new ArrayList<Exoneraciones>();
      String sql = "select * from exoneraciones where FECHAEXONERACION='"+exoneraciones.getFECHAEXONERACION()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "exoneraciones" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
        Exoneraciones exoneraciones2 = new Exoneraciones(
         rs.getString("IDEXONERACION"),rs.getDate("FECHAEXONERACION"),rs.getString("AUTORIZADO"),rs.getString("DETALLE"),rs.getDouble("PORCENTAJE"),rs.getDouble("VALOR"),rs.getString("ACTIVO"),rs.getString("IDMUNICIPIO"),rs.getString("IDUSUARIO"),rs.getDate("FECHA"));
            
            
       list.add(exoneraciones2);
    }
    rs.close();
    psquery.close();
    return list;
} catch (Exception ex) {
      excepcion = ex;
}
  return null;
}


/**
*
* findByAUTORIZADO()
*/

public static List<Exoneraciones> findByAUTORIZADO(Exoneraciones exoneraciones,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
       list = new ArrayList<Exoneraciones>();
      String sql = "select * from exoneraciones where AUTORIZADO='"+exoneraciones.getAUTORIZADO()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "exoneraciones" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
        Exoneraciones exoneraciones2 = new Exoneraciones(
         rs.getString("IDEXONERACION"),rs.getDate("FECHAEXONERACION"),rs.getString("AUTORIZADO"),rs.getString("DETALLE"),rs.getDouble("PORCENTAJE"),rs.getDouble("VALOR"),rs.getString("ACTIVO"),rs.getString("IDMUNICIPIO"),rs.getString("IDUSUARIO"),rs.getDate("FECHA"));
            
            
       list.add(exoneraciones2);
    }
    rs.close();
    psquery.close();
    return list;
} catch (Exception ex) {
      excepcion = ex;
}
  return null;
}


/**
*
* findByDETALLE()
*/

public static List<Exoneraciones> findByDETALLE(Exoneraciones exoneraciones,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
       list = new ArrayList<Exoneraciones>();
      String sql = "select * from exoneraciones where DETALLE='"+exoneraciones.getDETALLE()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "exoneraciones" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
        Exoneraciones exoneraciones2 = new Exoneraciones(
         rs.getString("IDEXONERACION"),rs.getDate("FECHAEXONERACION"),rs.getString("AUTORIZADO"),rs.getString("DETALLE"),rs.getDouble("PORCENTAJE"),rs.getDouble("VALOR"),rs.getString("ACTIVO"),rs.getString("IDMUNICIPIO"),rs.getString("IDUSUARIO"),rs.getDate("FECHA"));
            
            
       list.add(exoneraciones2);
    }
    rs.close();
    psquery.close();
    return list;
} catch (Exception ex) {
      excepcion = ex;
}
  return null;
}


/**
*
* findByPORCENTAJE()
*/

public static List<Exoneraciones> findByPORCENTAJE(Exoneraciones exoneraciones,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
       list = new ArrayList<Exoneraciones>();
      String sql = "select * from exoneraciones where PORCENTAJE='"+exoneraciones.getPORCENTAJE()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "exoneraciones" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
        Exoneraciones exoneraciones2 = new Exoneraciones(
         rs.getString("IDEXONERACION"),rs.getDate("FECHAEXONERACION"),rs.getString("AUTORIZADO"),rs.getString("DETALLE"),rs.getDouble("PORCENTAJE"),rs.getDouble("VALOR"),rs.getString("ACTIVO"),rs.getString("IDMUNICIPIO"),rs.getString("IDUSUARIO"),rs.getDate("FECHA"));
            
            
       list.add(exoneraciones2);
    }
    rs.close();
    psquery.close();
    return list;
} catch (Exception ex) {
      excepcion = ex;
}
  return null;
}


/**
*
* findByVALOR()
*/

public static List<Exoneraciones> findByVALOR(Exoneraciones exoneraciones,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
       list = new ArrayList<Exoneraciones>();
      String sql = "select * from exoneraciones where VALOR='"+exoneraciones.getVALOR()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "exoneraciones" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
        Exoneraciones exoneraciones2 = new Exoneraciones(
         rs.getString("IDEXONERACION"),rs.getDate("FECHAEXONERACION"),rs.getString("AUTORIZADO"),rs.getString("DETALLE"),rs.getDouble("PORCENTAJE"),rs.getDouble("VALOR"),rs.getString("ACTIVO"),rs.getString("IDMUNICIPIO"),rs.getString("IDUSUARIO"),rs.getDate("FECHA"));
            
            
       list.add(exoneraciones2);
    }
    rs.close();
    psquery.close();
    return list;
} catch (Exception ex) {
      excepcion = ex;
}
  return null;
}


/**
*
* findByACTIVO()
*/

public static List<Exoneraciones> findByACTIVO(Exoneraciones exoneraciones,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
       list = new ArrayList<Exoneraciones>();
      String sql = "select * from exoneraciones where ACTIVO='"+exoneraciones.getACTIVO()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "exoneraciones" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
        Exoneraciones exoneraciones2 = new Exoneraciones(
         rs.getString("IDEXONERACION"),rs.getDate("FECHAEXONERACION"),rs.getString("AUTORIZADO"),rs.getString("DETALLE"),rs.getDouble("PORCENTAJE"),rs.getDouble("VALOR"),rs.getString("ACTIVO"),rs.getString("IDMUNICIPIO"),rs.getString("IDUSUARIO"),rs.getDate("FECHA"));
            
            
       list.add(exoneraciones2);
    }
    rs.close();
    psquery.close();
    return list;
} catch (Exception ex) {
      excepcion = ex;
}
  return null;
}


/**
*
* findByIDMUNICIPIO()
*/

public static List<Exoneraciones> findByIDMUNICIPIO(Exoneraciones exoneraciones,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
       list = new ArrayList<Exoneraciones>();
      String sql = "select * from exoneraciones where IDMUNICIPIO='"+exoneraciones.getIDMUNICIPIO()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "exoneraciones" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
        Exoneraciones exoneraciones2 = new Exoneraciones(
         rs.getString("IDEXONERACION"),rs.getDate("FECHAEXONERACION"),rs.getString("AUTORIZADO"),rs.getString("DETALLE"),rs.getDouble("PORCENTAJE"),rs.getDouble("VALOR"),rs.getString("ACTIVO"),rs.getString("IDMUNICIPIO"),rs.getString("IDUSUARIO"),rs.getDate("FECHA"));
            
            
       list.add(exoneraciones2);
    }
    rs.close();
    psquery.close();
    return list;
} catch (Exception ex) {
      excepcion = ex;
}
  return null;
}


/**
*
* findByIDUSUARIO()
*/

public static List<Exoneraciones> findByIDUSUARIO(Exoneraciones exoneraciones,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
       list = new ArrayList<Exoneraciones>();
      String sql = "select * from exoneraciones where IDUSUARIO='"+exoneraciones.getIDUSUARIO()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "exoneraciones" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
        Exoneraciones exoneraciones2 = new Exoneraciones(
         rs.getString("IDEXONERACION"),rs.getDate("FECHAEXONERACION"),rs.getString("AUTORIZADO"),rs.getString("DETALLE"),rs.getDouble("PORCENTAJE"),rs.getDouble("VALOR"),rs.getString("ACTIVO"),rs.getString("IDMUNICIPIO"),rs.getString("IDUSUARIO"),rs.getDate("FECHA"));
            
            
       list.add(exoneraciones2);
    }
    rs.close();
    psquery.close();
    return list;
} catch (Exception ex) {
      excepcion = ex;
}
  return null;
}


/**
*
* findByFECHA()
*/

public static List<Exoneraciones> findByFECHA(Exoneraciones exoneraciones,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
       list = new ArrayList<Exoneraciones>();
      String sql = "select * from exoneraciones where FECHA='"+exoneraciones.getFECHA()+"'";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "exoneraciones" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
        Exoneraciones exoneraciones2 = new Exoneraciones(
         rs.getString("IDEXONERACION"),rs.getDate("FECHAEXONERACION"),rs.getString("AUTORIZADO"),rs.getString("DETALLE"),rs.getDouble("PORCENTAJE"),rs.getDouble("VALOR"),rs.getString("ACTIVO"),rs.getString("IDMUNICIPIO"),rs.getString("IDUSUARIO"),rs.getDate("FECHA"));
            
            
       list.add(exoneraciones2);
    }
    rs.close();
    psquery.close();
    return list;
} catch (Exception ex) {
      excepcion = ex;
}
  return null;
}


/**
*
* locateByParameters()
*/

public static List<Exoneraciones> locateByParameters(Map parametros,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
       list = new ArrayList<Exoneraciones>();
  String sql = "select * from exoneraciones";
  if (parametros != null) {
      Iterator it = parametros.entrySet().iterator();
      StringBuilder sb = new StringBuilder("");
      int i = 0;
      while (it.hasNext()) {
          if (i != 0){
            sb.append(" and ");
         }
         i++;
        Map.Entry e = (Map.Entry) it.next();
        sb.append(e.getKey() +"= '"+  e.getValue()+"'");
      }
      if (!sb.toString().equals("")){
         sql = sql + " where " + sb.toString();
      }
   }
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "exoneraciones" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
        Exoneraciones exoneraciones2 = new Exoneraciones(
         rs.getString("IDEXONERACION"),rs.getDate("FECHAEXONERACION"),rs.getString("AUTORIZADO"),rs.getString("DETALLE"),rs.getDouble("PORCENTAJE"),rs.getDouble("VALOR"),rs.getString("ACTIVO"),rs.getString("IDMUNICIPIO"),rs.getString("IDUSUARIO"),rs.getDate("FECHA"));
            
            
       list.add(exoneraciones2);
    }
    rs.close();
    psquery.close();
    return list;
} catch (Exception ex) {
      excepcion = ex;
}
  return null;
}


/**
*
* Double fFunc(String funcion, String campo)
*/



public static Double func(String funcion, String campo) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return 0.0;
  }
      String sql = "select "+funcion+"("+campo+") as contador from exoneraciones";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "exoneraciones" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return 0.0;
   }
    Double tmp =0.0;
   rs.beforeFirst();
   while (rs.next()) {
    tmp =  rs.getDouble("contador");
    }
    rs.close();
    psquery.close();
 return tmp;
} catch (Exception ex) {
      excepcion = ex;
}
  return 0.0;
}


/**
*
* Double func(String funcion, String campo,String where)
*/



public static Double func(String funcion, String campo, String where) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return 0.0;
  }
      String sql = "select "+funcion+"("+campo+") as contador from exoneraciones where "+where +" ";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "exoneraciones" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return 0.0;
   }
    Double tmp =0.0;
   rs.beforeFirst();
   while (rs.next()) {
    tmp =  rs.getDouble("contador");
    }
    rs.close();
    psquery.close();
 return tmp;
} catch (Exception ex) {
      excepcion = ex;
}
  return 0.0;
}


/**
*
* count()
*/



public static Integer count() {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return 0;
  }
      String sql = "select count(*) as contador from exoneraciones";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "exoneraciones" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return 0;
   }
   rs.beforeFirst();
   while (rs.next()) {
    x =  rs.getInt("contador");
    }
    rs.close();
    psquery.close();
 return x;
} catch (Exception ex) {
      excepcion = ex;
}
  return 0;
}


/**
*
* count(String sqlquery)
*/



public static Integer count(String sqlquery) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return 0;
  }
      String sql = "select count(*) as contador from exoneraciones where  " + sqlquery +"";
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "exoneraciones" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return 0;
   }
   rs.beforeFirst();
   while (rs.next()) {
    x =  rs.getInt("contador");
    }
    rs.close();
    psquery.close();
 return x;
} catch (Exception ex) {
      excepcion = ex;
}
  return 0;
}


/**
*
* query()
*/

public static List<Exoneraciones> query(String query,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
        list = new ArrayList<Exoneraciones>();
  String sql = "select * from exoneraciones where " + query +"";
  if (query == null || query.equals("")) {
  return null;
   }
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "exoneraciones" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
   
        Exoneraciones exoneraciones2 = new Exoneraciones(
         rs.getString("IDEXONERACION"),rs.getDate("FECHAEXONERACION"),rs.getString("AUTORIZADO"),rs.getString("DETALLE"),rs.getDouble("PORCENTAJE"),rs.getDouble("VALOR"),rs.getString("ACTIVO"),rs.getString("IDMUNICIPIO"),rs.getString("IDUSUARIO"),rs.getDate("FECHA"));
            
            
       list.add(exoneraciones2);
    }
    rs.close();
    psquery.close();
    return list;
} catch (Exception ex) {
      excepcion = ex;
}
  return null;
}


/**
*
* getListRecords()
*/

public static List<Exoneraciones> getListRecords(Map parametros,boolean withRelation) {
  excepcion = null;
  try {
      esMensaje =false;

  con= dataGManager.getCon();
  if (con == null) {
      excepcion=new Exception(bundle.getString("msg.noconecction"));
      return null;
  }
      list = new ArrayList<Exoneraciones>();
  String sql = "select * from exoneraciones";
  if (parametros != null) {
      Iterator it = parametros.entrySet().iterator();
      StringBuilder sb = new StringBuilder("");
      while (it.hasNext()) {
        Map.Entry e = (Map.Entry) it.next();
        sb.append(e.getKey() +"="+  e.getValue());
      }
      if (!sb.toString().equals("")){
         sql = sql + " where " + sb.toString();
      }
   }
  PreparedStatement psquery = con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
                                      ResultSet.CONCUR_UPDATABLE);
   ResultSet rs = psquery.executeQuery();
   rs.next();
   int x = rs.getRow();
   if (x == 0) {
          excepcion=new Exception(bundle.getString("msg.nofoundrecords") + "exoneraciones" +"  "+ bundle.getString("msg.withcode"));
          esMensaje =true;
      rs.close();
      psquery.close();
      return null;
   }
   rs.beforeFirst();
   while (rs.next()) {
       
        Exoneraciones exoneraciones2 = new Exoneraciones(
         rs.getString("IDEXONERACION"),rs.getDate("FECHAEXONERACION"),rs.getString("AUTORIZADO"),rs.getString("DETALLE"),rs.getDouble("PORCENTAJE"),rs.getDouble("VALOR"),rs.getString("ACTIVO"),rs.getString("IDMUNICIPIO"),rs.getString("IDUSUARIO"),rs.getDate("FECHA"));
            
            
       list.add(exoneraciones2);
    }
    rs.close();
    psquery.close();
    return list;
} catch (Exception ex) {
      excepcion = ex;
}
  return null;
 }


}
